home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / G-Games / (c)gb.d64 / space nim.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  4KB  |  149 lines

  1. 2 REM *********************************
  2. 3 REM * MODIFIED SLIGHTLY AT 0216H ON *
  3. 4 REM *     APRIL THE 5TH, 1985 BY    *
  4. 5 REM *          DAVID BRADLEY        *
  5. 6 REM *********************************
  6. 99 REM ORIGINAL PROGRAM OF NIM APPEARED
  7. 110 REM IN P.U.N. BY JIM BUTTERFIELD
  8. 120 REM SPACE FEATURE BY MATT GANIS
  9. 130 REM "[166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]
  10. 140 [143]
  11. 142 [151]53280,12:[151]53281,15:[153]""
  12. 145 V$[178]""
  13. 150 [151]53272,23:[153]"LOAD(null)(null)ATNLENVAL (null)RIGHT$(null)"
  14. 160 [153]"RIGHT$(null)(null)(null)(null)(null)LEN(null)RIGHT$(null)(null)(null)"
  15. 170 [161] R$:[139] R$[178]""[167]170
  16. 180 [139] R$[178]"Y" [167] 210
  17. 190 [139] R$[178]"N" [167] 330
  18. 200 [137] 170
  19. 210 [153]"LOAD(null)(null)ATNLENVAL (null)RIGHT$(null)WAIT RIGHT$(null)CLOSE(null)LEFT$VALCLOSE(null)(null)ATNLENVALCLOSE(null)VAL(null)(null)RIGHT$(null)(null)CLOSE(null)ASCCLOSE(null)LEFT$VAL
  20. 220 PRINT"[208][207][208][213][204][193][210][160][199][193][205][197][160][207][198][160][206][201][205]. [212][200][197][160][207][194][202][197][195][212][160][201][211][160][212][207][160]
  21. 230 [153]"(null)ATN(null)VALCLOSE(null)LEFT$VALCLOSE(null)ATN(null)(null)CLOSELEN(null)(null)(null)ATNRIGHT$(null)VAL(null)CLOSE(null)ASCCLOSEASC(null)VAL(null). (null)(null)(null) (null)ATN(null)";
  22. 240 [153]"(null)ATN(null)VALCLOSEATN(null)CLOSE(null)ATN(null)(null)CLOSELEN(null)(null)(null)ATNRIGHT$(null)VAL(null)(null)CLOSEASC(null)(null)(null)CLOSEATN(null)(null) (null)(null)VAL
  23. 250 PRINT"[208][201][204][197][160][193][211][160][217][207][213][160][204][201][203][197]. [212][200][197][160][196][210][201][207][196] [215][201][204][204][160][212][197][204][204]
  24. 260 [153]"(null)(null)(null) RIGHT$ASCCLOSE(null)(null)(null) (null)ATN(null)CLOSE(null)ATN(null)VALCLOSE(null)LEFT$ATN(null)CLOSE(null)ATN(null)(null)CLOSE
  25. 270 PRINT"[195][207][206][212][193][201][206][197][210][211][160][194][217][160][211][200][193][203][201][206][199][160][200][201][211][160][200][197][193][196][160][217][197][211][160][207][210][160]
  26. 280 [153]"(null)(null). (null)LEFT$VAL(null)CLOSEATN(null)(null)VALSTR$CLOSE'(null)LEFT$RIGHT$LENLEFT$ STR$(null)(null)RIGHT$STR$?' (null)(null)(null)
  27. 290 PRINT"[210][197][208][204][217] [215][201][212][200] [193][160]1,2 [207][210][160]3, [205][197][193][206][201][206][199][160][196][210][207][201][196] 1,
  28. 300 [153]"STR$(null)(null)RIGHT$STR$ 2 (null)(null) STR$(null)(null)RIGHT$STR$ 3.
  29. 310 PRINT"             [199][207][207][196] [204][213][195][203]"
  30. 320 GET R$:IFR$=""THEN320
  31. 330 PRINT"[147]"
  32. 340 PRINT"[200][207][215] [211][200][207][213][204][196] [201] [208][204][193][217]"
  33. 350 PRINT"[205][146][197][196][201][213][205] [207][210] [212][146][207][213][199][200] ([205] [207][210][160][212])";
  34. 360 GET A$:IF A$=""THEN360
  35. 370 IF A$="T" THEN IQ=0:GOTO400
  36. 380 IF A$="M" THEN IQ=.25:GOTO400
  37. 390 GOTO 360
  38. 400 POKE53272,21:RESTORE:PRINT"[147]":A=32
  39. 410 REM ***FACES OF THE DROIDS***
  40. 420 A$(1)="[180] [182][157][157][157]   [157][157][157][172] [187][157][157][157] . [157][157][157] [192] "
  41. 430 A$(2)="[187] [172][157][157][157][172] [187][157][157][157] . [157][157][157] [192] [157][157][157]   "
  42. 440 A$(3)="[180] [182][157][157][157]   [157][157][157] [172][172][157][157][157]  .[157][157][157]  [192]"
  43. 450 A$(4)="[180] [182][157][157][157]   [157][157][157][187][187] [157][157][157].  [157][157][157][192]  "
  44. 460 A$(5)=" [182] [157][157][157]   [157][157][157]  [190][157][157][157]   [146][190][157][157][157][157]  [195]"
  45. 470 A$(6)=" [182] [157][157][157]   [157][157][157]  [189][157][157][157]   [146][190][157][157][157][157]  [195]"
  46. 475 A$(7)="[180][160][182][157][157][157]   [157][157][157]   [157][157][157][188].[190][157][157][157] [192] "
  47. 480 C$(1)="[164][164][164][157][157][157][199] [200][157][157][157][199] [200][157][157][157][199] [200][157][157][157][163][163][163]"
  48. 490 C$(2)="[205] [206][157][157][157][192] [192][157][157][157]/ /[157][157][157][206] [205]"
  49. 500 C$(3)="   [157][157][157]   [157][157][157]   [157][157][157]   [157][157][157]   "
  50. 510 FOR T=1TO3:READ L(T):NEXTT:DATA 8,14,20
  51. 520 DEF FNE(X)=(A(J) OR E)AND(NOT (A(J) AND E))
  52. 530 FOR J=1TO3
  53. 540 A(J)=INT(RND(TI)*5+3)
  54. 550 IF J=1THEN580
  55. 560 FOR K=1TOJ-1:IF A(J)=A(K)THEN540
  56. 570 NEXT K
  57. 580 NEXTJ:M=0
  58. 590 GOSUB 1160
  59. 600 TC=0:A=0:PRINT"";:FORT=1TO3:PRINTTAB(A)"PILE#"CHR$(48+T)"="CHR$(48+A(T));:A=A+15
  60. 610 TC=TC+A(T):NEXTT:PRINT
  61. 620 IF TC=0 THEN 1220
  62. 630 M=1-M:IF M=0 THEN 970:REM COMPUTER'S MOVE
  63. 640 PRINT"                                 "
  64. 650 N=0:INPUT"WHICH DROID   [191][157][157][157]";D$
  65. 660 IF D$<="0" OR D$>="4" THEN 640
  66. 670 D=VAL(D$):PRINTLEFT$(V$,L(D))TAB(1)CHR$(18)CHR$(D+48)
  67. 680 INPUT"HOW MANY CONTAINERS   [191][157][157][157]";C$
  68. 690 IF C$<="0" OR C$>="8" THEN680
  69. 700 ONDGOTO702,704,706
  70. 702 PRINTLEFT$(V$,12)"   "A$(2)LEFT$(V$,18)"[146]   "A$(2):GOTO709
  71. 704 PRINTLEFT$(V$,6)"   "A$(7)LEFT$(V$,18)"[146]   "A$(2):GOTO709
  72. 706 PRINTLEFT$(V$,6)"   "A$(7)LEFT$(V$,12)"[146]   "A$(7)
  73. 709 PRINTLEFT$(V$,D*6)"   "A$(1):FORT=1TO1000:NEXTT:PRINTLEFT$(V$,D*6)"   "A$(4)
  74. 710 FOR T=1TO500:NEXTT
  75. 720 PRINTLEFT$(V$,D*6)"   "A$(1):PRINTLEFT$(V$,D*6)"   "A$(3)
  76. 730 FORT=1TO1000:NEXTT:C=VAL(C$):IF C>A(D) THEN N=1
  77. 740 PRINTLEFT$(V$,D*6)"   "A$(1)
  78. 750 IF N=1 THEN 920
  79. 760 FOR Q=1TO5:PRINTLEFT$(V$,D*6)"   "A$(1):PRINTLEFT$(V$,D*6)"   "A$(2)
  80. 770 NEXTQ:PRINTLEFT$(V$,D*6)"   "A$(1):FORT=1TO1000:NEXTT
  81. 780 PRINTLEFT$(V$,D*6)"   "A$(3):PRINTLEFT$(V$,D*6)"   "A$(5)
  82. 790 FOR S=1TOC
  83. 800 FORT=1TO500:NEXTT:PRINTLEFT$(V$,D*6)"   "A$(6):PRINTLEFT$(V$,L(D))TAB(6);
  84. 810 FOR T=1TO200:NEXTT:P=(L(D)-1)*40+1031
  85. 820 FOR U=1TO39:PRINT" [195][157]";
  86. 830 IF H=1 THEN 860
  87. 840 P=P+1:CT=PEEK(P):IF CT<>32 THEN H=1
  88. 850 NEXT U
  89. 860 PRINT"[145][145]"C$(2):FORT=1TO100:NEXTT:PRINT"[145][145][145][145]"TAB(U+6)C$(3):H=0
  90. 870 PRINTLEFT$(V$,D*6)"   "A$(5):NEXTS
  91. 880 FOR T=1TO500:NEXTT:PRINTLEFT$(V$,D*6)"   "A$(3)
  92. 890 PRINTLEFT$(V$,D*6)"[145] "LEFT$(V$,D*6)"   "A$(1):FORT=1TO500:NEXTT
  93. 900 PRINTLEFT$(V$,D*6)"   "A$(2):PRINT:PRINTLEFT$(V$,L(D))"[146]"TAB(1)CHR$(48+D)
  94. 910 A(D)=A(D)-C
  95. 911 FORT=1TO3:PRINTLEFT$(V$,T*6)"   "A$(2):NEXTT:GOTO600
  96. 920 FOR Q=1TO5:PRINTLEFT$(V$,D*6)"[146]   "A$(4)LEFT$(V$,D*6)"[146]   "A$(1)
  97. 930 PRINTLEFT$(V$,D*6)"   "A$(3)LEFT$(V$,D*6)"[146]   "A$(1):NEXT Q
  98. 940 FORT=1TO500:NEXTT
  99. 950 PRINTLEFT$(V$,D*6)"[146]   "A$(2):PRINT:PRINTLEFT$(V$,L(D))TAB(1)"[146]"CHR$(48+D)
  100. 960 PRINT"                         "
  101. 963 FORT=1TO3:PRINTLEFT$(V$,T*6)"   "A$(2):NEXTT
  102. 965 GOTO650
  103. 970 FORT=1TO1000:NEXTT:E=0:F=0
  104. 980 FOR J=1TO3
  105. 990 E=FNE(0)
  106. 1000 IF A(J)>F THEN F=A(J):J1=J
  107. 1010 NEXTJ
  108. 1020 FOR J=1TO3
  109. 1030 R=FNE(0)
  110. 1040 IF R<=A(J)THEN1060
  111. 1050 NEXT J:STOP
  112. 1060 IF R=A(J) OR IQ>RND(1) THEN J=J1:R=A(J)-1
  113. 1070 PRINT"                          "
  114. 1080 PRINT"I WILL USE DROID #"J
  115. 1090 PRINTLEFT$(V$,L(J))TAB(1)CHR$(18)CHR$(48+J)
  116. 1100 FOR T=1TO1000:NEXTT
  117. 1110 PRINT"                              "
  118. 1120 PRINT"AND I WILL TAKE "CHR$(48+A(J)-R)" ";
  119. 1125 IFA(J)-R=1THENPRINT"CONTAINER":GOTO1140
  120. 1130 PRINT"CONTAINERS"
  121. 1140 D=J:C$=STR$(A(J)-R):GOTO700
  122. 1150 END
  123. 1160 FOR T=1TO3
  124. 1170 FORS=1TOA(T):PRINTLEFT$(V$,T*6)TAB(A)C$(1):A=A-4:NEXTS:A=32:NEXTT
  125. 1180 FOR T=1TO3
  126. 1190 PRINTLEFT$(V$,6*T)"   "A$(2):NEXTT
  127. 1200 FORT=1TO3:PRINTLEFT$(V$,L(T))TAB(0)T:NEXTT
  128. 1210 RETURN
  129. 1220 W$="YOU":M$="CONGRATULATIONS":IF M=0 THEN W$="I":M$="HA HA"
  130. 1230 PRINTLEFT$(V$,13):FOR T=1TO20
  131. 1240 PRINTTAB(15)W$" WON"
  132. 1250 PRINTTAB(15)M$
  133. 1260 PRINT"[145][145]"TAB(15)""W$" WON[146]"
  134. 1270 PRINTTAB(15)""M$"[146]"
  135. 1280 PRINT"[145][145]";:NEXTT
  136. 1290 PRINTTAB(15)"ANOTHER GAME ?[146]";
  137. 1300 GET A$
  138. 1310 IF A$="Y" THEN PRINTA$:GOTO1340
  139. 1320 IF A$="N" THEN PRINTA$:PRINTTAB(15)"[147]O.K. BYE":END
  140. 1330 GOTO 1300
  141. 1340 PRINTTAB(15)"SAME LEVEL ?"
  142. 1350 GET R$:IF R$=""THEN1350
  143. 1360 IF R$="N" THEN 1390
  144. 1370 IF R$="Y" THEN 1410
  145. 1380 GOTO 1350
  146. 1390 IF IQ=0 THEN IQ=.25:GOTO1410
  147. 1400 IF IQ=.25THEN IQ=0
  148. 1410 GOTO 400
  149.